data = [2,4,1,3,5]
print('原来的数据位:',data)

def quick(start,end):
    # start：代表待排序元素中最小元素的下标
    # end: 代表待排序元素中最大元素的下标
    # start<end，还没有相遇，小于基准元素和大于基准元素还没有找完
    if start >= end:
        return
    # 把待排序序列的第一个元素作为基准元素，存到result中
    result=data[start]
    i = start
    j = end
    while i<j:
        while data[j] >= result:
            j-=1
        data[i]=data[j]
        while data[i] <= result:
            i+=1
        data[j]=data[i]
    data[j]=result
    quick(start,j-1)
    quick(j+1,end)
quick(0,len(data)-1)
print('排序后的数据为：',data)


# 10天吃桃之前的桃子数：1
# x x/2-1=1 x=(1+1)*2
# f(9) = (f(10)+1)*2

# f(n) = (f(n+1)+1)*2

# 1.先要找到关系式
# 2.找到递归出口

def f(n):
    # 递归出口：当n加到10的时候，停下来
    if n == 10:
        return 1
    else:
        return (f(n+1)+1)*2
print(f(1))

